package com.navi.loaddata.core.oracleEntity.array;

import javax.persistence.*;
import java.util.Date;

/**
 * Created by ghost on 2018/3/16.
 */
@Entity
@Table(name = "ETL_ARRAY_GLASS_V", schema = "EDALDR", catalog = "")
@IdClass(EtlArrayGlassVPK.class)
public class EtlArrayGlassV {
    private String stepId;
    private String glassId;
    private Date glassEndTime;
    private Date glassStartTime;
    private String productId;
    private String productVersion;
    private String routeId;
    private String lotId;
    private String equipId;
    private String runMode;
    private String recipeId;
    private String subEquipId;
    private String operatorId;
    private String cstId;
    private String taShift;
    private String lotType;
    private String ownerId;
    private String ownerType;
    private String slotNo;
    private String abnormalFlag;
    private String mesLinkKry;
    private String samplingFlag;
    private String glassJudge;
    private Long processTime;
    private Long tactTime;
    private Long totalDftCount;
    private Long totalImageCount;
    private Long totalReprDftQty;
    private Long lcvdReprDftQty;
    private Long backSideDftQty;
    private Long testKetDftQty;
    private Long aftStkDftQty;
    private Long inkReprDftQty;
    private Long pnlCapDftQty;
    private Long tapReprDftQty;
    private Long lsrReprDftQty;
    private Long oDftQty;
    private Long lDftQty;
    private Long mDftQty;
    private Long sDftQty;
    private Long brightDftQty;
    private Long writeDftQty;
    private Long grayDftQty;
    private Long blackDftQty;
    private Long scanAlignMark1Flg;//string
    private Long scanAlignMark2Flg;//string
    private Long scanAlignMark1X;
    private Long scanAlignMark1Y;
    private Long scanAlignMark2X;
    private Long scanAlignMark2Y;
    private Long captureAlignMark1Flg;//string
    private Long captureAlignMark2Flg;//string
    private Long captureAlignMark1X;
    private Long captureAlignMark1Y;
    private Long captureAlignMark2X;
    private Long captureAlignMark2Y;
    private String resolRvHead1;
    private String resolRvHead2;
    private String resolRvHead3;
    private String resolRvHead4;
    private String resolRvHead5;
    private String resolRvHead6;
    private String captureSize;
    private String probeCardId;
    private String reworkCnt;

    @Id
    @Column(name = "STEP_ID")
    public String getStepId() {
        return stepId;
    }

    public void setStepId(String stepId) {
        this.stepId = stepId;
    }

    @Id
    @Column(name = "GLASS_ID")
    public String getGlassId() {
        return glassId;
    }

    public void setGlassId(String glassId) {
        this.glassId = glassId;
    }

    @Id
    @Column(name = "GLASS_END_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getGlassEndTime() {
        return glassEndTime;
    }

    public void setGlassEndTime(Date glassEndTime) {
        this.glassEndTime = glassEndTime;
    }

    @Basic
    @Column(name = "GLASS_START_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getGlassStartTime() {
        return glassStartTime;
    }

    public void setGlassStartTime(Date glassStartTime) {
        this.glassStartTime = glassStartTime;
    }

    @Basic
    @Column(name = "PRODUCT_ID")
    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    @Basic
    @Column(name = "PRODUCT_VERSION")
    public String getProductVersion() {
        return productVersion;
    }

    public void setProductVersion(String productVersion) {
        this.productVersion = productVersion;
    }

    @Basic
    @Column(name = "ROUTE_ID")
    public String getRouteId() {
        return routeId;
    }

    public void setRouteId(String routeId) {
        this.routeId = routeId;
    }

    @Basic
    @Column(name = "LOT_ID")
    public String getLotId() {
        return lotId;
    }

    public void setLotId(String lotId) {
        this.lotId = lotId;
    }

    @Basic
    @Column(name = "EQUIP_ID")
    public String getEquipId() {
        return equipId;
    }

    public void setEquipId(String equipId) {
        this.equipId = equipId;
    }

    @Basic
    @Column(name = "RUN_MODE")
    public String getRunMode() {
        return runMode;
    }

    public void setRunMode(String runMode) {
        this.runMode = runMode;
    }

    @Basic
    @Column(name = "RECIPE_ID")
    public String getRecipeId() {
        return recipeId;
    }

    public void setRecipeId(String recipeId) {
        this.recipeId = recipeId;
    }

    @Basic
    @Column(name = "SUB_EQUIP_ID")
    public String getSubEquipId() {
        return subEquipId;
    }

    public void setSubEquipId(String subEquipId) {
        this.subEquipId = subEquipId;
    }

    @Basic
    @Column(name = "OPERATOR_ID")
    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    @Basic
    @Column(name = "CST_ID")
    public String getCstId() {
        return cstId;
    }

    public void setCstId(String cstId) {
        this.cstId = cstId;
    }

    @Basic
    @Column(name = "TA_SHIFT")
    public String getTaShift() {
        return taShift;
    }

    public void setTaShift(String taShift) {
        this.taShift = taShift;
    }

    @Basic
    @Column(name = "LOT_TYPE")
    public String getLotType() {
        return lotType;
    }

    public void setLotType(String lotType) {
        this.lotType = lotType;
    }

    @Basic
    @Column(name = "OWNER_ID")
    public String getOwnerId() {
        return ownerId;
    }

    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }

    @Basic
    @Column(name = "OWNER_TYPE")
    public String getOwnerType() {
        return ownerType;
    }

    public void setOwnerType(String ownerType) {
        this.ownerType = ownerType;
    }

    @Basic
    @Column(name = "SLOT_NO")
    public String getSlotNo() {
        return slotNo;
    }

    public void setSlotNo(String slotNo) {
        this.slotNo = slotNo;
    }

    @Basic
    @Column(name = "ABNORMAL_FLAG")
    public String getAbnormalFlag() {
        return abnormalFlag;
    }

    public void setAbnormalFlag(String abnormalFlag) {
        this.abnormalFlag = abnormalFlag;
    }

    @Basic
    @Column(name = "MES_LINK_KRY")
    public String getMesLinkKry() {
        return mesLinkKry;
    }

    public void setMesLinkKry(String mesLinkKry) {
        this.mesLinkKry = mesLinkKry;
    }

    @Basic
    @Column(name = "SAMPLING_FLAG")
    public String getSamplingFlag() {
        return samplingFlag;
    }

    public void setSamplingFlag(String samplingFlag) {
        this.samplingFlag = samplingFlag;
    }

    @Basic
    @Column(name = "GLASS_JUDGE")
    public String getGlassJudge() {
        return glassJudge;
    }

    public void setGlassJudge(String glassJudge) {
        this.glassJudge = glassJudge;
    }

    @Basic
    @Column(name = "PROCESS_TIME")
    public Long getProcessTime() {
        return processTime;
    }

    public void setProcessTime(Long processTime) {
        this.processTime = processTime;
    }

    @Basic
    @Column(name = "TACT_TIME")
    public Long getTactTime() {
        return tactTime;
    }

    public void setTactTime(Long tactTime) {
        this.tactTime = tactTime;
    }

    @Basic
    @Column(name = "TOTAL_DFT_COUNT")
    public Long getTotalDftCount() {
        return totalDftCount;
    }

    public void setTotalDftCount(Long totalDftCount) {
        this.totalDftCount = totalDftCount;
    }

    @Basic
    @Column(name = "TOTAL_IMAGE_COUNT")
    public Long getTotalImageCount() {
        return totalImageCount;
    }

    public void setTotalImageCount(Long totalImageCount) {
        this.totalImageCount = totalImageCount;
    }

    @Basic
    @Column(name = "TOTAL_REPR_DFT_QTY")
    public Long getTotalReprDftQty() {
        return totalReprDftQty;
    }

    public void setTotalReprDftQty(Long totalReprDftQty) {
        this.totalReprDftQty = totalReprDftQty;
    }

    @Basic
    @Column(name = "LCVD_REPR_DFT_QTY")
    public Long getLcvdReprDftQty() {
        return lcvdReprDftQty;
    }

    public void setLcvdReprDftQty(Long lcvdReprDftQty) {
        this.lcvdReprDftQty = lcvdReprDftQty;
    }

    @Basic
    @Column(name = "BACK_SIDE_DFT_QTY")
    public Long getBackSideDftQty() {
        return backSideDftQty;
    }

    public void setBackSideDftQty(Long backSideDftQty) {
        this.backSideDftQty = backSideDftQty;
    }

    @Basic
    @Column(name = "TEST_KET_DFT_QTY")
    public Long getTestKetDftQty() {
        return testKetDftQty;
    }

    public void setTestKetDftQty(Long testKetDftQty) {
        this.testKetDftQty = testKetDftQty;
    }

    @Basic
    @Column(name = "AFT_STK_DFT_QTY")
    public Long getAftStkDftQty() {
        return aftStkDftQty;
    }

    public void setAftStkDftQty(Long aftStkDftQty) {
        this.aftStkDftQty = aftStkDftQty;
    }

    @Basic
    @Column(name = "INK_REPR_DFT_QTY")
    public Long getInkReprDftQty() {
        return inkReprDftQty;
    }

    public void setInkReprDftQty(Long inkReprDftQty) {
        this.inkReprDftQty = inkReprDftQty;
    }

    @Basic
    @Column(name = "PNL_CAP_DFT_QTY")
    public Long getPnlCapDftQty() {
        return pnlCapDftQty;
    }

    public void setPnlCapDftQty(Long pnlCapDftQty) {
        this.pnlCapDftQty = pnlCapDftQty;
    }

    @Basic
    @Column(name = "TAP_REPR_DFT_QTY")
    public Long getTapReprDftQty() {
        return tapReprDftQty;
    }

    public void setTapReprDftQty(Long tapReprDftQty) {
        this.tapReprDftQty = tapReprDftQty;
    }

    @Basic
    @Column(name = "LSR_REPR_DFT_QTY")
    public Long getLsrReprDftQty() {
        return lsrReprDftQty;
    }

    public void setLsrReprDftQty(Long lsrReprDftQty) {
        this.lsrReprDftQty = lsrReprDftQty;
    }

    @Basic
    @Column(name = "O_DFT_QTY")
    public Long getoDftQty() {
        return oDftQty;
    }

    public void setoDftQty(Long oDftQty) {
        this.oDftQty = oDftQty;
    }

    @Basic
    @Column(name = "L_DFT_QTY")
    public Long getlDftQty() {
        return lDftQty;
    }

    public void setlDftQty(Long lDftQty) {
        this.lDftQty = lDftQty;
    }

    @Basic
    @Column(name = "M_DFT_QTY")
    public Long getmDftQty() {
        return mDftQty;
    }

    public void setmDftQty(Long mDftQty) {
        this.mDftQty = mDftQty;
    }

    @Basic
    @Column(name = "S_DFT_QTY")
    public Long getsDftQty() {
        return sDftQty;
    }

    public void setsDftQty(Long sDftQty) {
        this.sDftQty = sDftQty;
    }

    @Basic
    @Column(name = "BRIGHT_DFT_QTY")
    public Long getBrightDftQty() {
        return brightDftQty;
    }

    public void setBrightDftQty(Long brightDftQty) {
        this.brightDftQty = brightDftQty;
    }

    @Basic
    @Column(name = "WRITE_DFT_QTY")
    public Long getWriteDftQty() {
        return writeDftQty;
    }

    public void setWriteDftQty(Long writeDftQty) {
        this.writeDftQty = writeDftQty;
    }

    @Basic
    @Column(name = "GRAY_DFT_QTY")
    public Long getGrayDftQty() {
        return grayDftQty;
    }

    public void setGrayDftQty(Long grayDftQty) {
        this.grayDftQty = grayDftQty;
    }

    @Basic
    @Column(name = "BLACK_DFT_QTY")
    public Long getBlackDftQty() {
        return blackDftQty;
    }

    public void setBlackDftQty(Long blackDftQty) {
        this.blackDftQty = blackDftQty;
    }

    @Basic
    @Column(name = "SCAN_ALIGN_MARK1_FLG")
    public Long getScanAlignMark1Flg() {
        return scanAlignMark1Flg;
    }

    public void setScanAlignMark1Flg(Long scanAlignMark1Flg) {
        this.scanAlignMark1Flg = scanAlignMark1Flg;
    }

    @Basic
    @Column(name = "SCAN_ALIGN_MARK2_FLG")
    public Long getScanAlignMark2Flg() {
        return scanAlignMark2Flg;
    }

    public void setScanAlignMark2Flg(Long scanAlignMark2Flg) {
        this.scanAlignMark2Flg = scanAlignMark2Flg;
    }

    @Basic
    @Column(name = "SCAN_ALIGN_MARK1_X")
    public Long getScanAlignMark1X() {
        return scanAlignMark1X;
    }

    public void setScanAlignMark1X(Long scanAlignMark1X) {
        this.scanAlignMark1X = scanAlignMark1X;
    }

    @Basic
    @Column(name = "SCAN_ALIGN_MARK1_Y")
    public Long getScanAlignMark1Y() {
        return scanAlignMark1Y;
    }

    public void setScanAlignMark1Y(Long scanAlignMark1Y) {
        this.scanAlignMark1Y = scanAlignMark1Y;
    }

    @Basic
    @Column(name = "SCAN_ALIGN_MARK2_X")
    public Long getScanAlignMark2X() {
        return scanAlignMark2X;
    }

    public void setScanAlignMark2X(Long scanAlignMark2X) {
        this.scanAlignMark2X = scanAlignMark2X;
    }

    @Basic
    @Column(name = "SCAN_ALIGN_MARK2_Y")
    public Long getScanAlignMark2Y() {
        return scanAlignMark2Y;
    }

    public void setScanAlignMark2Y(Long scanAlignMark2Y) {
        this.scanAlignMark2Y = scanAlignMark2Y;
    }

    @Basic
    @Column(name = "CAPTURE_ALIGN_MARK1_FLG")
    public Long getCaptureAlignMark1Flg() {
        return captureAlignMark1Flg;
    }

    public void setCaptureAlignMark1Flg(Long captureAlignMark1Flg) {
        this.captureAlignMark1Flg = captureAlignMark1Flg;
    }

    @Basic
    @Column(name = "CAPTURE_ALIGN_MARK2_FLG")
    public Long getCaptureAlignMark2Flg() {
        return captureAlignMark2Flg;
    }

    public void setCaptureAlignMark2Flg(Long captureAlignMark2Flg) {
        this.captureAlignMark2Flg = captureAlignMark2Flg;
    }

    @Basic
    @Column(name = "CAPTURE_ALIGN_MARK1_X")
    public Long getCaptureAlignMark1X() {
        return captureAlignMark1X;
    }

    public void setCaptureAlignMark1X(Long captureAlignMark1X) {
        this.captureAlignMark1X = captureAlignMark1X;
    }

    @Basic
    @Column(name = "CAPTURE_ALIGN_MARK1_Y")
    public Long getCaptureAlignMark1Y() {
        return captureAlignMark1Y;
    }

    public void setCaptureAlignMark1Y(Long captureAlignMark1Y) {
        this.captureAlignMark1Y = captureAlignMark1Y;
    }

    @Basic
    @Column(name = "CAPTURE_ALIGN_MARK2_X")
    public Long getCaptureAlignMark2X() {
        return captureAlignMark2X;
    }

    public void setCaptureAlignMark2X(Long captureAlignMark2X) {
        this.captureAlignMark2X = captureAlignMark2X;
    }

    @Basic
    @Column(name = "CAPTURE_ALIGN_MARK2_Y")
    public Long getCaptureAlignMark2Y() {
        return captureAlignMark2Y;
    }

    public void setCaptureAlignMark2Y(Long captureAlignMark2Y) {
        this.captureAlignMark2Y = captureAlignMark2Y;
    }

    @Basic
    @Column(name = "RESOL_RV_HEAD1")
    public String getResolRvHead1() {
        return resolRvHead1;
    }

    public void setResolRvHead1(String resolRvHead1) {
        this.resolRvHead1 = resolRvHead1;
    }

    @Basic
    @Column(name = "RESOL_RV_HEAD2")
    public String getResolRvHead2() {
        return resolRvHead2;
    }

    public void setResolRvHead2(String resolRvHead2) {
        this.resolRvHead2 = resolRvHead2;
    }

    @Basic
    @Column(name = "RESOL_RV_HEAD3")
    public String getResolRvHead3() {
        return resolRvHead3;
    }

    public void setResolRvHead3(String resolRvHead3) {
        this.resolRvHead3 = resolRvHead3;
    }

    @Basic
    @Column(name = "RESOL_RV_HEAD4")
    public String getResolRvHead4() {
        return resolRvHead4;
    }

    public void setResolRvHead4(String resolRvHead4) {
        this.resolRvHead4 = resolRvHead4;
    }

    @Basic
    @Column(name = "RESOL_RV_HEAD5")
    public String getResolRvHead5() {
        return resolRvHead5;
    }

    public void setResolRvHead5(String resolRvHead5) {
        this.resolRvHead5 = resolRvHead5;
    }

    @Basic
    @Column(name = "RESOL_RV_HEAD6")
    public String getResolRvHead6() {
        return resolRvHead6;
    }

    public void setResolRvHead6(String resolRvHead6) {
        this.resolRvHead6 = resolRvHead6;
    }

    @Basic
    @Column(name = "CAPTURE_SIZE")
    public String getCaptureSize() {
        return captureSize;
    }

    public void setCaptureSize(String captureSize) {
        this.captureSize = captureSize;
    }

    @Basic
    @Column(name = "PROBE_CARD_ID")
    public String getProbeCardId() {
        return probeCardId;
    }

    public void setProbeCardId(String probeCardId) {
        this.probeCardId = probeCardId;
    }

    @Basic
    @Column(name = "REWORK_CNT")
    public String getReworkCnt() {
        return reworkCnt;
    }

    public void setReworkCnt(String reworkCnt) {
        this.reworkCnt = reworkCnt;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        EtlArrayGlassV that = (EtlArrayGlassV) o;

        if (stepId != null ? !stepId.equals(that.stepId) : that.stepId != null) return false;
        if (glassId != null ? !glassId.equals(that.glassId) : that.glassId != null) return false;
        if (glassEndTime != null ? !glassEndTime.equals(that.glassEndTime) : that.glassEndTime != null) return false;
        if (glassStartTime != null ? !glassStartTime.equals(that.glassStartTime) : that.glassStartTime != null)
            return false;
        if (productId != null ? !productId.equals(that.productId) : that.productId != null) return false;
        if (productVersion != null ? !productVersion.equals(that.productVersion) : that.productVersion != null)
            return false;
        if (routeId != null ? !routeId.equals(that.routeId) : that.routeId != null) return false;
        if (lotId != null ? !lotId.equals(that.lotId) : that.lotId != null) return false;
        if (equipId != null ? !equipId.equals(that.equipId) : that.equipId != null) return false;
        if (runMode != null ? !runMode.equals(that.runMode) : that.runMode != null) return false;
        if (recipeId != null ? !recipeId.equals(that.recipeId) : that.recipeId != null) return false;
        if (subEquipId != null ? !subEquipId.equals(that.subEquipId) : that.subEquipId != null) return false;
        if (operatorId != null ? !operatorId.equals(that.operatorId) : that.operatorId != null) return false;
        if (cstId != null ? !cstId.equals(that.cstId) : that.cstId != null) return false;
        if (taShift != null ? !taShift.equals(that.taShift) : that.taShift != null) return false;
        if (lotType != null ? !lotType.equals(that.lotType) : that.lotType != null) return false;
        if (ownerId != null ? !ownerId.equals(that.ownerId) : that.ownerId != null) return false;
        if (ownerType != null ? !ownerType.equals(that.ownerType) : that.ownerType != null) return false;
        if (slotNo != null ? !slotNo.equals(that.slotNo) : that.slotNo != null) return false;
        if (abnormalFlag != null ? !abnormalFlag.equals(that.abnormalFlag) : that.abnormalFlag != null) return false;
        if (mesLinkKry != null ? !mesLinkKry.equals(that.mesLinkKry) : that.mesLinkKry != null) return false;
        if (samplingFlag != null ? !samplingFlag.equals(that.samplingFlag) : that.samplingFlag != null) return false;
        if (glassJudge != null ? !glassJudge.equals(that.glassJudge) : that.glassJudge != null) return false;
        if (processTime != null ? !processTime.equals(that.processTime) : that.processTime != null) return false;
        if (tactTime != null ? !tactTime.equals(that.tactTime) : that.tactTime != null) return false;
        if (totalDftCount != null ? !totalDftCount.equals(that.totalDftCount) : that.totalDftCount != null)
            return false;
        if (totalImageCount != null ? !totalImageCount.equals(that.totalImageCount) : that.totalImageCount != null)
            return false;
        if (totalReprDftQty != null ? !totalReprDftQty.equals(that.totalReprDftQty) : that.totalReprDftQty != null)
            return false;
        if (lcvdReprDftQty != null ? !lcvdReprDftQty.equals(that.lcvdReprDftQty) : that.lcvdReprDftQty != null)
            return false;
        if (backSideDftQty != null ? !backSideDftQty.equals(that.backSideDftQty) : that.backSideDftQty != null)
            return false;
        if (testKetDftQty != null ? !testKetDftQty.equals(that.testKetDftQty) : that.testKetDftQty != null)
            return false;
        if (aftStkDftQty != null ? !aftStkDftQty.equals(that.aftStkDftQty) : that.aftStkDftQty != null) return false;
        if (inkReprDftQty != null ? !inkReprDftQty.equals(that.inkReprDftQty) : that.inkReprDftQty != null)
            return false;
        if (pnlCapDftQty != null ? !pnlCapDftQty.equals(that.pnlCapDftQty) : that.pnlCapDftQty != null) return false;
        if (tapReprDftQty != null ? !tapReprDftQty.equals(that.tapReprDftQty) : that.tapReprDftQty != null)
            return false;
        if (lsrReprDftQty != null ? !lsrReprDftQty.equals(that.lsrReprDftQty) : that.lsrReprDftQty != null)
            return false;
        if (oDftQty != null ? !oDftQty.equals(that.oDftQty) : that.oDftQty != null) return false;
        if (lDftQty != null ? !lDftQty.equals(that.lDftQty) : that.lDftQty != null) return false;
        if (mDftQty != null ? !mDftQty.equals(that.mDftQty) : that.mDftQty != null) return false;
        if (sDftQty != null ? !sDftQty.equals(that.sDftQty) : that.sDftQty != null) return false;
        if (brightDftQty != null ? !brightDftQty.equals(that.brightDftQty) : that.brightDftQty != null) return false;
        if (writeDftQty != null ? !writeDftQty.equals(that.writeDftQty) : that.writeDftQty != null) return false;
        if (grayDftQty != null ? !grayDftQty.equals(that.grayDftQty) : that.grayDftQty != null) return false;
        if (blackDftQty != null ? !blackDftQty.equals(that.blackDftQty) : that.blackDftQty != null) return false;
        if (scanAlignMark1Flg != null ? !scanAlignMark1Flg.equals(that.scanAlignMark1Flg) : that.scanAlignMark1Flg != null)
            return false;
        if (scanAlignMark2Flg != null ? !scanAlignMark2Flg.equals(that.scanAlignMark2Flg) : that.scanAlignMark2Flg != null)
            return false;
        if (scanAlignMark1X != null ? !scanAlignMark1X.equals(that.scanAlignMark1X) : that.scanAlignMark1X != null)
            return false;
        if (scanAlignMark1Y != null ? !scanAlignMark1Y.equals(that.scanAlignMark1Y) : that.scanAlignMark1Y != null)
            return false;
        if (scanAlignMark2X != null ? !scanAlignMark2X.equals(that.scanAlignMark2X) : that.scanAlignMark2X != null)
            return false;
        if (scanAlignMark2Y != null ? !scanAlignMark2Y.equals(that.scanAlignMark2Y) : that.scanAlignMark2Y != null)
            return false;
        if (captureAlignMark1Flg != null ? !captureAlignMark1Flg.equals(that.captureAlignMark1Flg) : that.captureAlignMark1Flg != null)
            return false;
        if (captureAlignMark2Flg != null ? !captureAlignMark2Flg.equals(that.captureAlignMark2Flg) : that.captureAlignMark2Flg != null)
            return false;
        if (captureAlignMark1X != null ? !captureAlignMark1X.equals(that.captureAlignMark1X) : that.captureAlignMark1X != null)
            return false;
        if (captureAlignMark1Y != null ? !captureAlignMark1Y.equals(that.captureAlignMark1Y) : that.captureAlignMark1Y != null)
            return false;
        if (captureAlignMark2X != null ? !captureAlignMark2X.equals(that.captureAlignMark2X) : that.captureAlignMark2X != null)
            return false;
        if (captureAlignMark2Y != null ? !captureAlignMark2Y.equals(that.captureAlignMark2Y) : that.captureAlignMark2Y != null)
            return false;
        if (resolRvHead1 != null ? !resolRvHead1.equals(that.resolRvHead1) : that.resolRvHead1 != null) return false;
        if (resolRvHead2 != null ? !resolRvHead2.equals(that.resolRvHead2) : that.resolRvHead2 != null) return false;
        if (resolRvHead3 != null ? !resolRvHead3.equals(that.resolRvHead3) : that.resolRvHead3 != null) return false;
        if (resolRvHead4 != null ? !resolRvHead4.equals(that.resolRvHead4) : that.resolRvHead4 != null) return false;
        if (resolRvHead5 != null ? !resolRvHead5.equals(that.resolRvHead5) : that.resolRvHead5 != null) return false;
        if (resolRvHead6 != null ? !resolRvHead6.equals(that.resolRvHead6) : that.resolRvHead6 != null) return false;
        if (captureSize != null ? !captureSize.equals(that.captureSize) : that.captureSize != null) return false;
        if (probeCardId != null ? !probeCardId.equals(that.probeCardId) : that.probeCardId != null) return false;
        if (reworkCnt != null ? !reworkCnt.equals(that.reworkCnt) : that.reworkCnt != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = stepId != null ? stepId.hashCode() : 0;
        result = 31 * result + (glassId != null ? glassId.hashCode() : 0);
        result = 31 * result + (glassEndTime != null ? glassEndTime.hashCode() : 0);
        result = 31 * result + (glassStartTime != null ? glassStartTime.hashCode() : 0);
        result = 31 * result + (productId != null ? productId.hashCode() : 0);
        result = 31 * result + (productVersion != null ? productVersion.hashCode() : 0);
        result = 31 * result + (routeId != null ? routeId.hashCode() : 0);
        result = 31 * result + (lotId != null ? lotId.hashCode() : 0);
        result = 31 * result + (equipId != null ? equipId.hashCode() : 0);
        result = 31 * result + (runMode != null ? runMode.hashCode() : 0);
        result = 31 * result + (recipeId != null ? recipeId.hashCode() : 0);
        result = 31 * result + (subEquipId != null ? subEquipId.hashCode() : 0);
        result = 31 * result + (operatorId != null ? operatorId.hashCode() : 0);
        result = 31 * result + (cstId != null ? cstId.hashCode() : 0);
        result = 31 * result + (taShift != null ? taShift.hashCode() : 0);
        result = 31 * result + (lotType != null ? lotType.hashCode() : 0);
        result = 31 * result + (ownerId != null ? ownerId.hashCode() : 0);
        result = 31 * result + (ownerType != null ? ownerType.hashCode() : 0);
        result = 31 * result + (slotNo != null ? slotNo.hashCode() : 0);
        result = 31 * result + (abnormalFlag != null ? abnormalFlag.hashCode() : 0);
        result = 31 * result + (mesLinkKry != null ? mesLinkKry.hashCode() : 0);
        result = 31 * result + (samplingFlag != null ? samplingFlag.hashCode() : 0);
        result = 31 * result + (glassJudge != null ? glassJudge.hashCode() : 0);
        result = 31 * result + (processTime != null ? processTime.hashCode() : 0);
        result = 31 * result + (tactTime != null ? tactTime.hashCode() : 0);
        result = 31 * result + (totalDftCount != null ? totalDftCount.hashCode() : 0);
        result = 31 * result + (totalImageCount != null ? totalImageCount.hashCode() : 0);
        result = 31 * result + (totalReprDftQty != null ? totalReprDftQty.hashCode() : 0);
        result = 31 * result + (lcvdReprDftQty != null ? lcvdReprDftQty.hashCode() : 0);
        result = 31 * result + (backSideDftQty != null ? backSideDftQty.hashCode() : 0);
        result = 31 * result + (testKetDftQty != null ? testKetDftQty.hashCode() : 0);
        result = 31 * result + (aftStkDftQty != null ? aftStkDftQty.hashCode() : 0);
        result = 31 * result + (inkReprDftQty != null ? inkReprDftQty.hashCode() : 0);
        result = 31 * result + (pnlCapDftQty != null ? pnlCapDftQty.hashCode() : 0);
        result = 31 * result + (tapReprDftQty != null ? tapReprDftQty.hashCode() : 0);
        result = 31 * result + (lsrReprDftQty != null ? lsrReprDftQty.hashCode() : 0);
        result = 31 * result + (oDftQty != null ? oDftQty.hashCode() : 0);
        result = 31 * result + (lDftQty != null ? lDftQty.hashCode() : 0);
        result = 31 * result + (mDftQty != null ? mDftQty.hashCode() : 0);
        result = 31 * result + (sDftQty != null ? sDftQty.hashCode() : 0);
        result = 31 * result + (brightDftQty != null ? brightDftQty.hashCode() : 0);
        result = 31 * result + (writeDftQty != null ? writeDftQty.hashCode() : 0);
        result = 31 * result + (grayDftQty != null ? grayDftQty.hashCode() : 0);
        result = 31 * result + (blackDftQty != null ? blackDftQty.hashCode() : 0);
        result = 31 * result + (scanAlignMark1Flg != null ? scanAlignMark1Flg.hashCode() : 0);
        result = 31 * result + (scanAlignMark2Flg != null ? scanAlignMark2Flg.hashCode() : 0);
        result = 31 * result + (scanAlignMark1X != null ? scanAlignMark1X.hashCode() : 0);
        result = 31 * result + (scanAlignMark1Y != null ? scanAlignMark1Y.hashCode() : 0);
        result = 31 * result + (scanAlignMark2X != null ? scanAlignMark2X.hashCode() : 0);
        result = 31 * result + (scanAlignMark2Y != null ? scanAlignMark2Y.hashCode() : 0);
        result = 31 * result + (captureAlignMark1Flg != null ? captureAlignMark1Flg.hashCode() : 0);
        result = 31 * result + (captureAlignMark2Flg != null ? captureAlignMark2Flg.hashCode() : 0);
        result = 31 * result + (captureAlignMark1X != null ? captureAlignMark1X.hashCode() : 0);
        result = 31 * result + (captureAlignMark1Y != null ? captureAlignMark1Y.hashCode() : 0);
        result = 31 * result + (captureAlignMark2X != null ? captureAlignMark2X.hashCode() : 0);
        result = 31 * result + (captureAlignMark2Y != null ? captureAlignMark2Y.hashCode() : 0);
        result = 31 * result + (resolRvHead1 != null ? resolRvHead1.hashCode() : 0);
        result = 31 * result + (resolRvHead2 != null ? resolRvHead2.hashCode() : 0);
        result = 31 * result + (resolRvHead3 != null ? resolRvHead3.hashCode() : 0);
        result = 31 * result + (resolRvHead4 != null ? resolRvHead4.hashCode() : 0);
        result = 31 * result + (resolRvHead5 != null ? resolRvHead5.hashCode() : 0);
        result = 31 * result + (resolRvHead6 != null ? resolRvHead6.hashCode() : 0);
        result = 31 * result + (captureSize != null ? captureSize.hashCode() : 0);
        result = 31 * result + (probeCardId != null ? probeCardId.hashCode() : 0);
        result = 31 * result + (reworkCnt != null ? reworkCnt.hashCode() : 0);
        return result;
    }
}
